In computer networks such as Ethernet, broadcast messages are frequently sent out to all stations on the network. Broadcast messages may be used, for example, to advertise the availability of various services (e.g., printers), for routing table maintenance, or for polling individual stations. A single network may link instruments which understand and use different languages or protocols. Each station may understand one or more of these protocols.
Each broadcast message is sent to all stations. Accordingly, each station must receive the message and determine initially whether the message is in a protocol that it can understand. Conventionally, this "filtering" of broadcast messages is performed in software. The computer or other instrument at the station is interrupted from its present task to examine the broadcast packet. First, the framing format of the broadcast packet must be determined, and then the protocol ID fields specified in that framing format must be checked to determine whether the broadcast packet is in a protocol that can be understood by the receiving station. If there is no match, the receive buffer containing the packet is released, and the station returns from the interrupt.
In large local area networks (LAN) where many protocols are used, an individual station may be required to spend a considerable amount of time examining broadcast packets which are in protocols that it cannot understand. This may constitute a significant overhead for the station's central processing unit (CPU).